package com.xxxt.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.xxxt.entity.Teacher;
/**
 * @describe 教师Dao层接口
 * @author huangrusiehng
 *
 */
public interface TeacherMapper {
	
/**
* @describe 增加单个教师
* @param teacher 教师实体类
*/
public void addOneTeacher(Teacher teacher);

/**
 * @describe 跟据教师工号删除教师账号
 * @param tno 教师工号
 */
public void deleteOneTeacherByTno(String tno);

/**
 * @describe 根据教师工号查询单个教师
 * @param tno 教师工号
 * @return 单个教师实体类
 */
public Teacher queryOneTeacherByTno(String tno);

/**
 * @describe 查询所有教师
 * @return 教师List集合
 */
public List<Teacher> queryAllTeacher();

/**
 * @describe 修改单个教师
 * @param  教师实体类
 */
public void updateTeacher(@Param("teacher")Teacher teacher);

/**
 * @describe 根据tno查询出教师关联的班级、年级、专业、学院、学校信息
 * @param tno 教师工号
 * @return 教师实体类
 */
public Teacher queryOneTeacherInfoByTno(String tno);

/**
 * @describe 取消教师与班级表的关联
 * @param tno 教师工号
 */
public void teacherCancelRelationshipWithClassGrade(String tno);

/**
 * @describe 取消教师与学生表的关联
 * @param tno 教师工号
 */
public void teacherCancelRelationshipWithStudent(String tno);

/**
 * @describe 根据教师工号数组删除教师
 * @param tnoArray 教师工号集合
 */
public void batchDeleteTeacherByTno(List<String> tnoArray);

/**
 * @describe 根据传入的名称模糊查询符合条件的教师
 * @param name 传入姓名
 * @return 符合条件的教师集合
 */
public List<Teacher> queryOneTeacherInfoByNameLike(String name);

/**
 * @describe 查看状态为待审核的教师信息
 * @return 态为待审核的教师集合
 */
public List<Teacher> queryWaitingRegisterTeachers();

/**
 * @describe 根据邮箱查询教师
 * @param email
 * @return 教师实体类
 */
public Teacher queryOneTeacherByEmail(String email);
}
